home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / usr / share / doc / initramfs-tools / maintainer-notes.html < prev    next >
Encoding:
Extensible Markup Language  |  2011-03-30  |  9.7 KB  |  372 lines

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <head>
  5. <title>Maintainer documentation for initramfs-tools</title>
  6. <style type="text/css">
  7. /*<![CDATA[*/
  8. a { color: black; }
  9. a:hover { text-decoration: none; }
  10. a:visited { color: gray; }
  11. acronym { cursor: help; }
  12. body { font-family: "DejaVu Sans", "Bitstream Vera Sans", sans-serif; }
  13. pre { background-color: #EEEEEE; border: 1px dashed black; padding: 1em; }
  14. div.right { text-align: right; }
  15. /*]]>*/
  16. </style>
  17. </head>
  18.  
  19. <body>
  20.  
  21. <div>
  22. <hr />
  23.  
  24. <h1>Maintainer documentation for initramfs-tools</h1>
  25.  
  26. <hr />
  27.  
  28. <h2><a name="toc">Table of Contents</a></h2>
  29.  
  30. <ul>
  31.  
  32. <li><a href="#definitions">1. Definitions</a></li>
  33. <li><a href="#preparations">2. Preparations</a></li>
  34.  
  35. <li><a href="#workflow">3. Workflow for daily work</a>
  36. <ul>
  37. <li><a href="#newfeature">3.1 Implement new features</a></li>
  38. <li><a href="#merge">3.2 Merge branches</a></li>
  39. <li><a href="#test">3.3 Test specific branch</a></li>
  40. <li><a href="#snapshot">3.4 Build snapshot version</a></li>
  41. </ul>
  42. </li>
  43.  
  44. <li><a href="#contribute">4. Contribute</a></li>
  45. <li><a href="#release">5. Release new version</a></li>
  46. <li><a href="#resources">6. Resources</a></li>
  47. <li><a href="#credits">7. Credits</a></li>
  48. <li><a href="#license">8. License</a></li>
  49.  
  50. </ul>
  51.  
  52. <hr />
  53.  
  54. <p><b>NOTE:</b> The most recent version of this document is available at
  55. docs/maintainer-notes.html in the <a href="#checkout">the git repository</a>
  56. or online at <a
  57.   href="http://git.debian.org/?p=kernel/initramfs-tools.git;a=blob_plain;f=docs/maintainer-notes.html;hb=HEAD">git.debian.org</a>.</p>
  58.  
  59. <hr />
  60.  
  61. <h2><a name="definitions">1. Definitions</a></h2>
  62.  
  63. <table>
  64.     <tr><td><code><b>$mailaddress:</b></code></td><td>mailaddress of the user</td></tr>
  65.     <tr><td><code><b>$username:</b></code></td><td>name of the alioth account</td></tr>
  66.     <tr><td><code><b>$version:</b></code></td><td>version string</td></tr>
  67.     <tr><td><code><b>$yourname:</b></code></td><td>your fullname</td></tr>
  68. </table>
  69.  
  70. <div class="right"><a href="#toc">^</a></div>
  71. <hr />
  72.  
  73. <h2><a name="preparations">2. Preparations</a></h2>
  74.  
  75. <ol>
  76.  
  77. <li>Install required software (notice: git is named git-core on Debian/oldstable):
  78. <pre>
  79. <b># apt-get install git git-buildpackage dpkg-dev</b>
  80. </pre>
  81. </li>
  82.  
  83. <li>Set environment variables (e.g. through your ~/.bashrc or ~/.zshrc) for devscripts (git dch):
  84. <pre>
  85. <b>export DEBEMAIL=$mailaddress
  86. export DEBFULLNAME=$yourname</b>
  87. </pre>
  88. </li>
  89.  
  90. <li>Set user name and email address for git (drop the --global option to use configuration per-repo basis):
  91. <pre>
  92. <b>% git config --global user.name  "$yourname"
  93. % git config --global user.email "$mailaddress"</b>
  94. </pre>
  95. </li>
  96.  
  97. <li><a name="checkout">Checkout</a> repository (anonymous):
  98. <pre>
  99. <b>% git clone git://git.debian.org/git/kernel/initramfs-tools.git
  100. % cd initramfs-tools</b>
  101. </pre>
  102. </li>
  103.  
  104. <li>Checkout repository (with developer access):
  105. <pre>
  106. <b>% git clone ssh://<code><i>$username</i></code>@git.debian.org/git/kernel/initramfs-tools.git
  107. % cd initramfs-tools</b>
  108. </pre>
  109. </li>
  110.  
  111. </ol>
  112.  
  113. <div class="right"><a href="#toc">^</a></div>
  114. <hr />
  115.  
  116. <h2><a name="workflow">3. Workflow for daily work</a></h2>
  117.  
  118. <h3><a name="newfeature">3.1 Implement new features</a></h3>
  119.  
  120. <ol>
  121.  
  122. <li>Checkout new branch and switch to it:
  123. <pre>
  124. <b>% git checkout -b <code><i>$username</i></code>/short-descr-of-new-feature</b>
  125. </pre>
  126. </li>
  127.  
  128. <li>Hack and commit work:
  129. <pre>
  130. <b>% $EDITOR $somefile
  131. % git add $somefile
  132. % git commit -s</b>
  133. </pre>
  134.  
  135. <b>NOTE:</b> Use 'Closes: #BUGID' for closing a bugreport and 'Thanks: Fullname
  136. <<code><i>mailaddress</i></code>>' for giving credits in your commit message. git dch will use
  137. this information for generating the changelog using the --meta option later
  138. on.
  139.  
  140. </li>
  141.  
  142. <li>Finally push your branch to alioth:
  143. <pre>
  144. <b>% git push origin <code><i>$username</i></code>/short-descr-of-new-feature</b>
  145. </pre>
  146. </li>
  147.  
  148. </ol>
  149.  
  150. <h3><a name="merge">3.2 Merge branches</a></h3>
  151.  
  152. <ol>
  153.  
  154. <li>Switch to the branch you want to merge:
  155. <pre>
  156. <b>% git checkout <code><i>$username</i></code>/new-feature</b>
  157. </pre>
  158. </li>
  159.  
  160. <li>Rebase to master:
  161. <pre>
  162. <b>% git rebase master</b>
  163. </pre>
  164. </li>
  165.  
  166. <li>Switch to master branch and merge:
  167. <pre>
  168. <b>% git checkout master
  169. % git merge <code><i>$username</i></code>/new-feature</b>
  170. </pre>
  171. </li>
  172.  
  173. <li>Push:
  174. <pre>
  175. <b>% git push</b>
  176. </pre>
  177. </li>
  178.  
  179. <li>After branch is merged delete branch on server and locally:
  180. <pre>
  181. <b>% git push origin :<code><i>$username</i></code>/short-descr-of-new-feature
  182. % git branch -d <code><i>$username</i></code>/short-descr-of-new-feature</b>
  183. </pre>
  184. </li>
  185.  
  186. <li>If a branch is removed from the server it will stay locally. You can get of
  187. any stale remote branches locally by executing:
  188. <pre>
  189. <b>% git remote prune origin</b>
  190. </pre>
  191. </li>
  192.  
  193. </ol>
  194.  
  195. <h3><a name="test">3.3 Test specific branch</a></h3>
  196.  
  197. <ol>
  198.  
  199. <li>Checkout a specific branch iff branch is not already present locally:
  200. <pre>
  201. <b>% git checkout -b somename/short-descr-of-new-feature origin/somename/short-descr-of-new-feature</b>
  202. </pre>
  203. </li>
  204.  
  205. <li>Checkout a specific branch iff branch is already present locally:
  206. <pre>
  207. <b>% git checkout -b somename/short-descr-of-new-feature</b>
  208. </pre>
  209. </li>
  210.  
  211. <li>Adjust debian/changelog accordingly:
  212. <pre>
  213. <b>% git dch --debian-branch="$(git branch | awk -F\*\   '/^* / { print $2}' )" \
  214.   --since="v$(dpkg-parsechangelog | awk '/^Version:/ {print $2}')" -S --id-length=7 --meta --multimaint-merge</b>
  215. </pre>
  216. </li>
  217.  
  218. <li>Build package:
  219. <pre>
  220. <b>% git buildpackage --git-ignore-new --git-debian-branch="$(git branch | awk -F\*\  '/^* / { print $2}' )" -tc</b>
  221. </pre>
  222. </li>
  223.  
  224. </ol>
  225.  
  226. <div class="right"><a href="#toc">^</a></div>
  227. <hr />
  228.  
  229. <h3><a name="snapshot">3.4 Build snapshot version</a></h3>
  230.  
  231. <ol>
  232.  
  233. <li>Adjust debian/changelog accordingly:
  234. <pre>
  235. <b>% git dch --debian-branch="$(git branch | awk -F\*\   '/^* / { print $2}' )" \
  236.   --since="v$(dpkg-parsechangelog | awk '/^Version:/ {print $2}')" -S --id-length=7 --meta --multimaint-merge</b>
  237. </pre>
  238. </li>
  239.  
  240. <li>Build package:
  241. <pre>
  242. <b>% git buildpackage --git-debian-branch="$(git branch | awk -F\*\  '/^* / { print $2}' )" -tc [-us -uc]</b>
  243. </pre>
  244. </li>
  245.  
  246. </ol>
  247.  
  248. <div class="right"><a href="#toc">^</a></div>
  249. <hr />
  250.  
  251. <h2><a name="contribute">4. Contribute</a></h2>
  252.  
  253. <ol>
  254. <li>Create patch:
  255. <pre>
  256. <b>% git format-patch -s -p origin/master</b>
  257. </pre>
  258. </li>
  259.  
  260. <li>Send patch file(s) to maintainers via mail (requires Debian package git-email):
  261. <pre>
  262. <b>% git send-email --to=initramfs-tools@packages.debian.org $PATCHFILE[S]</b>
  263. </pre>
  264. </li>
  265.  
  266. <li>The development mailinglists are <a
  267.   href="mailto:debian-kernel@lists.debian.org">debian-kernel@lists.debian.org</a>
  268. and <a href="mailto:initramfs@vger.kernel.org">initramfs@vger.kernel.org</a>.
  269. Discussion of features, bugs and patches are more than welcome on one
  270. of these lists.</li>
  271.  
  272. </ol>
  273.  
  274. <div class="right"><a href="#toc">^</a></div>
  275. <hr />
  276.  
  277. <h2><a name="release">5. Release new version</a></h2>
  278.  
  279. <ol>
  280.  
  281. <li>Creating changelog:
  282.  
  283. <pre>
  284. <b>% git dch --debian-branch master --release --since <code><i>HASH</i></code></b>
  285. </pre>
  286.  
  287. or more dynamically:
  288.  
  289. <pre>
  290. <b>% git dch --meta --release --since v$(dpkg-parsechangelog | awk '/^Version:/ {print $2}') --debian-branch="$(git branch | awk -F\*\  '/^* / { print $2}' )" --id-length=7 --meta --multimaint-merge</b>
  291. </pre>
  292.  
  293. <b>NOTE:</b> we do not use history based sorting for the changelog entries but
  294. sort them by author.
  295.  
  296. </li>
  297.  
  298. <li>Releasing:
  299. <pre>
  300. <b>% git commit -a -s -m "Releasing version <code><i>$version</i></code>."</b>
  301. </pre>
  302. </li>
  303.  
  304. <li>Tagging:
  305. <pre>
  306. <b>% git tag -s v"<code><i>$version</i></code>" -m "release <code><i>$version</i></code>"</b>
  307. </pre>
  308. </li>
  309.  
  310. <li>Pushing:
  311. <pre>
  312. <b>% git push
  313. % git push --tags</b>
  314. </pre>
  315. </li>
  316.  
  317. <li>Build in chroot and upload to ftp-master.</li>
  318.  
  319. <li>Send mail announcing the new initramfs-tools version with subject
  320. "initramfs-tools $VERSION release" to initramfs@vger.kernel.org,
  321. debian-kernel@lists.debian.org + kernel-team@lists.ubuntu.com - including a
  322. shortlog (generated through "git shortlog $TAG..").</li>
  323.  
  324. </ol>
  325.  
  326. <div class="right"><a href="#toc">^</a></div>
  327. <hr />
  328.  
  329. <h2><a name="resources">6. Resources</a></h2>
  330.  
  331. <ul>
  332.   <li><a href="http://git.debian.org/?p=kernel/initramfs-tools.git">initramfs-tools git web interface</a></li>
  333.   <li><a href="http://wiki.debian.org/initramfs">initramfs @ debian-wiki</a></li>
  334.   <li><a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=initramfs-tools;dist=unstable">bugreports</a></li>
  335.   <li><a href="http://packages.qa.debian.org/i/initramfs-tools.html">initramfs-tools @ PTS</a></li>
  336.   <li><a href="http://qa.debian.org/popcon.php?package=initramfs-tools">popcon graph</a></li>
  337.   <li><a href="http://people.debian.org/~glandium/bts/i/initramfs-tools.png">bugcount for initramfs-tools</a></li>
  338.   <li><a href="https://launchpad.net/ubuntu/+source/initramfs-tools">bugreports @ ubuntu</a></li>
  339.   <li><a href="http://status.qa.ubuntu.com/qapkgstatus/initramfs-tools">qa page @ ubuntu</a></li>
  340. </ul>
  341.  
  342. <div class="right"><a href="#toc">^</a></div>
  343. <hr />
  344.  
  345. <h2><a name="credits">7. Credits</a></h2>
  346.  
  347. <ul>
  348.   <li>Thanks to Daniel Baumann for his "<a href="http://documentation.debian-projects.org/other/debian-packaging-git/">Debian Packaging with Git</a>" which inspired this document.</li>
  349. </ul>
  350.  
  351. <div class="right"><a href="#toc">^</a></div>
  352. <hr />
  353.  
  354. <h2><a name="license">8. License</a></h2>
  355.  
  356. <ul>
  357.   <li>This document is licensed under GPL v2 or any later version.</li>
  358. </ul>
  359.  
  360. <div class="right"><a href="#toc">^</a></div>
  361. <hr />
  362.  
  363. <p>
  364. <i>--  Michael Prokop <<a href="mailto:mika@debian.org" title="Send mail to the author of this document">mika@debian.org</a>></i>
  365. </p>
  366.  
  367. <hr />
  368.  
  369. </div>
  370. </body>
  371. </html>
  372.